<template>
  <div class="import">
    <upload-excel :beforeUpload="beforeUpload" :onSuccess="onSuccess" />
  </div>
</template>

<script>
import { batchEmpList } from '@/api/employees'
export default {
  methods: {
    // 读取文件
    beforeUpload (file) {
      if (file.size > 1024 * 2 * 1024) {
        this.$message.error('文件上传不能大于2M')
        return false
      } else {
        return true
      }
    },
    // 如果上传成功会调用这个回调函数
    // header代表表头  results代表内容(数组)
    async onSuccess ({ header, results }) {
      if (this.$route.query.type == 'emp') {
        const userRelations = {
          入职日期: 'timeOfEntry',
          手机号: 'mobile',
          姓名: 'username',
          转正日期: 'correctionTime',
          工号: 'workNumber'
        }
        //  遍历读取到的内容
        let list = results.map(item => {
          let newObj = {}
          // 还要遍历每个对象,把每个键替换成英文
          for (let key in item) {
            let engKeys = userRelations[key]
            // 先判断当前的key是不是时间
            if (key == '入职日期' || key == '转正日期') {
              let excelTime = item[key]
              // 转成js的时间/
              let date = new Date((excelTime-1) * 24 * 60 * 60 * 1000)
              let year = date.getFullYear()
              date.setFullYear(year - 70)
              newObj[engKeys] = date
            } else {
              // 把原来对象里的值赋值给新对象,并且存到新的英文键对应的属性上
              newObj[engKeys] = item[key]
            }
          }
          return newObj
        })
        await batchEmpList(list)
        this.$message.success('导入文件成功!')
        this.$router.go(-1)
      } else {
      }
    }
  }
}
</script>

<style></style>
